package org.dromara.hm.domain.vo.saleOrder;

import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.hm.domain.HmSaleOrderGift;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 订单赠品明细视图对象 hm_sale_order_gift
 *
 * @author Hzy
 * @date 2025-03-17
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HmSaleOrderGift.class)
public class HmSaleOrderGiftVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 赠品记录ID
     */
    @ExcelProperty(value = "赠品记录ID")
    private Long giftId;

    /**
     * 关联销售订单ID
     */
    @ExcelProperty(value = "关联销售订单ID")
    private Long saleId;

    /**
     * 赠品商品ID
     */
    @ExcelProperty(value = "赠品商品ID")
    private Long giftProductId;

    /**
     * 赠品商品名称
     */
    @ExcelProperty(value = "赠品商品名称")
    @Translation(type = TransConstant.PRODUCT_ID_TO_NAME, mapper = "giftProductId")
    private String giftProductName;

    /**
     * 赠品数量
     */
    @ExcelProperty(value = "赠品数量")
    private BigDecimal giftNum;

    /**
     * 已提货数量
     */
    @ExcelProperty(value = "已提货数量")
    private BigDecimal giftUsedNum;

    /**
     * 提货状态(0-未提/1-部分提/2-已提完)
     */
    @ExcelProperty(value = "提货状态(0-未提/1-部分提/2-已提完)")
    private Integer giftStatus;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    private String status;

    /**
     * 已退赠品数量
     */
    private BigDecimal giftRefundableNum;

    /**
     * 从已提货退货数量
     */
    private BigDecimal pickedQty;
    /**
     * 从未提货退货数量
     */
    private BigDecimal unpickedQty;


}
